home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 24
/
AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso
/
PublicDomain
/
Anwendungen
/
MT-RechnungIII
/
Rexx
/
Import_DFA.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1998-07-29
|
7KB
|
248 lines
/*
** Importieren von selektierten DFA-Adressen in MT-RechnungIII
** $VER: Import_DFA.rexx V1.01 (29.07.98)
*/
PARSE ARG ARexxPort;
ADDRESS VALUE ARexxPort;
OPTIONS RESULTS;
LF = '0a'x; /* Zeilenvorschub */
RC = 0;
/* Oberfläche sperren */
LOCKGUI;
IF ~show(ports, DFA) THEN
DO;
ES_TITLE = "Warnung";
ES_TEXTFORMAT = "DFA ist nicht aktiv, bitte starten sie dieses" || LF || "und versuchen Sie es erneut";
ES_GADGETFORMAT = "Abbrechen";
EASY_REQUEST;
RC = 1;
END;
IF RC = 0 THEN
DO;
ES_TITLE = "Achtung!!!!";
ES_TEXTFORMAT = "Es werden alle selektierten" || LF || "Adressen aus DFA importiert!" || LF || LF;
ES_TEXTFORMAT = ES_TEXTFORMAT || "Es erfolgt keine Prüfung, ob" || LF || "die Adressen bereits in MT-" || LF || "RechnungIII existieren" || LF || LF;
ES_TEXTFORMAT = ES_TEXTFORMAT || "Wollen Sie trotzdem fortfahren?";
ES_GADGETFORMAT = "Ok|Abbrechen";
EASY_REQUEST;
IF MTR_RESULT = 0 THEN
DO;
FREEGUI;
EXIT;
END;
/* Länder einlesen */
NUMBER_COUNTRY;
AnzLaender = MTR_RESULT;
DO i = 1 to AnzLaender;
GET_COUNTRY i;
Land.Name.i = COUNTRY.NAME;
DO j = 0 TO 63;
Land.Bundesland.i.j = COUNTRY.STATE.j;
END;
END;
ADDRESS 'DFA';
FIRST STEM DFA.
IF DFA.ADDRESS.24 = 0 THEN
NEXTSEL STEM DFA.
DO WHILE RC = 0;
ADDRESS VALUE ARexxPort;
NEW_ADDRESS;
MTR_Adressnummer = MTR_RESULT;
SELECT;
WHEN DFA.ADDRESS.0 = "Fräulein" THEN
DO;
ADDRESS.SALUTATION = 1;
END;
WHEN DFA.ADDRESS.0 = "Frau" THEN
DO;
ADDRESS.SALUTATION = 2;
END;
WHEN DFA.ADDRESS.0 = "Herr" THEN
DO;
ADDRESS.SALUTATION = 3;
END;
WHEN DFA.ADDRESS.0 = "Familie" THEN
DO;
ADDRESS.SALUTATION = 4;
END;
OTHERWISE
DO;
ADDRESS.SALUTATION = 0;
END;
end;
ADDRESS.PRENAME = DFA.ADDRESS.1;
ADDRESS.SURNAME = DFA.ADDRESS.2;
ADDRESS.STREET = DFA.ADDRESS.4;
ADDRESS.ZIP = DFA.ADDRESS.5;
ADDRESS.CITY = DFA.ADDRESS.6;
SELECT;
WHEN DFA.ADDRESS.8 = "Germany" | DFA.ADDRESS.8 = "" THEN
DFA.ADDRESS.8 = "Deutschland";
WHEN DFA.ADDRESS.8 = "Austria" THEN
DFA.ADDRESS.8 = "Österreich";
WHEN DFA.ADDRESS.8 = "Swiss" THEN
DFA.ADDRESS.8 = "Schweiz";
OTHERWISE
NOP;
END;
j = 0;
DO i = 1 to AnzLaender WHILE(j = 0);
IF DFA.ADDRESS.8 = Land.Name.i THEN
j = i;
END;
IF j = 0 THEN
DO;
NEW_COUNTRY;
AnzLaender = MTR_RESULT;
i = AnzLaender;
COUNTRY.NAME = DFA.ADDRESS.8;
SELECT;
WHEN COUNTRY.NAME = "Deutschland" THEN
DO;
COUNTRY.SYMBOL = "D-";
COUNTRY.PHONE_HOME = "0";
COUNTRY.PHONE_FOREIGN = "00";
COUNTRY.PHONE_FROMFOREIGN = "49";
COUNTRY.STATE.0 = "Baden-Würtemberg"
COUNTRY.STATE.1 = "Bayern";
COUNTRY.STATE.2 = "Berlin";
COUNTRY.STATE.3 = "Brandenburg";
COUNTRY.STATE.4 = "Bremen";
COUNTRY.STATE.5 = "Hamburg";
COUNTRY.STATE.6 = "Hessen";
COUNTRY.STATE.7 = "Mecklenburg-Vorpommern";
COUNTRY.STATE.8 = "Niedersachsen";
COUNTRY.STATE.9 = "Nordrhein-Westfalen";
COUNTRY.STATE.10 = "Rheinland-Pfalz";
COUNTRY.STATE.11 = "Saarland";
COUNTRY.STATE.12 = "Sachsen";
COUNTRY.STATE.13 = "Sachsen-Anhalt";
COUNTRY.STATE.14 = "Schleswig-Holstein";
COUNTRY.STATE.15 = "Thüringen";
END;
WHEN COUNTRY.NAME = "Österreich" THEN
DO;
COUNTRY.SYMBOL = "A-";
COUNTRY.PHONE_HOME = "0";
COUNTRY.PHONE_FOREIGN = "00";
COUNTRY.PHONE_FROMFOREIGN = "43";
COUNTRY.STATE.0 = "Burgenland"
COUNTRY.STATE.1 = "Kärnten";
COUNTRY.STATE.2 = "Niederösterreich";
COUNTRY.STATE.3 = "Oberösterreich";
COUNTRY.STATE.4 = "Salzburg";
COUNTRY.STATE.5 = "Steiermark";
COUNTRY.STATE.6 = "Tirol";
COUNTRY.STATE.7 = "Vorarlberg";
COUNTRY.STATE.8 = "Wien";
END;
WHEN COUNTRY.NAME = "Schweiz" THEN
DO;
COUNTRY.SYMBOL = "CH-";
COUNTRY.PHONE_HOME = "0";
COUNTRY.PHONE_FOREIGN = "00";
COUNTRY.PHONE_FROMFOREIGN = "41";
COUNTRY.STATE.0 = "Aargau"
COUNTRY.STATE.1 = "Appenzell Außer-Rhoden";
COUNTRY.STATE.2 = "Appenzell Inner-Rhoden";
COUNTRY.STATE.3 = "Basel-Land";
COUNTRY.STATE.4 = "Basel-Stadt";
COUNTRY.STATE.5 = "Bern";
COUNTRY.STATE.6 = "Freiburg";
COUNTRY.STATE.7 = "Genf";
COUNTRY.STATE.8 = "Glarus";
COUNTRY.STATE.9 = "Graubünden";
COUNTRY.STATE.10 = "Luzern";
COUNTRY.STATE.11 = "Neuenburg";
COUNTRY.STATE.12 = "Sankt Gallen";
COUNTRY.STATE.13 = "Schaffhausen";
COUNTRY.STATE.14 = "Schwyz";
COUNTRY.STATE.15 = "Solothurn";
COUNTRY.STATE.16 = "Tessin";
COUNTRY.STATE.17 = "Thurgau";
COUNTRY.STATE.18 = "Unterwalden Nidwalden";
COUNTRY.STATE.19 = "Unterwalden Obwalden";
COUNTRY.STATE.20 = "Uri";
COUNTRY.STATE.21 = "Waadt";
COUNTRY.STATE.22 = "Wallis";
COUNTRY.STATE.23 = "Zug";
COUNTRY.STATE.24 = "Zürich";
END;
OTHERWISE
COUNTRY.STATE.0 = DFA.ADDRESS.7;
END;
Land.Name.i = COUNTRY.NAME;
x = 0;
DO j = 0 TO 63;
Land.Bundesland.i.j = COUNTRY.STATE.j;
IF Land.Bundesland.i.j = DFA.ADDRESS.7 THEN
x = j;
END;
SET_COUNTRY AnzLaender;
ADDRESS.COUNTRY_NUMBER = AnzLaender - 1;
ADDRESS.STATE_NUMBER = x;
END;
ELSE
DO;
ADDRESS.COUNTRY_NUMBER = j - 1;
IF DFA.ADDRESS.7 > "" THEN
DO;
x = -1;
DO i = 0 TO 63 WHILE( x = -1);
IF Land.Bundesland.j.i = DFA.ADDRESS.7 THEN
x = i;
END;
IF x = -1 THEN
DO;
GET_COUNTRY j;
Land.Name.j = COUNTRY.NAME;
DO i = 63 TO 0 BY -1
Land.Bundesland.j.i = COUNTRY.STATE.i;
IF COUNTRY.STATE.i = "" THEN
x = i;
END;
COUNTRY.STATE.x = DFA.ADDRESS.7
SET_COUNTRY j;
END;
ADDRESS.STATE_NUMBER = x;
END;
END;
IF LENGTH(DFA.ADDRESS.9) = 10 THEN
ADDRESS.BIRTHDAY = SUBSTR(DFA.ADDRESS.9, 7, 4) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2);
ELSE IF LENGTH(DFA.ADDRESS.9) = 8 THEN
ADDRESS.BIRTHDAY = "19" || SUBSTR(DFA.ADDRESS.9, 7, 2) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2);
ADDRESS.PHONE = DFA.ADDRESS.10;
ADDRESS.FAX = DFA.ADDRESS.11;
ADDRESS.EMAIL.0 = DFA.ADDRESS.12;
ADDRESS.EMAIL.1 = DFA.ADDRESS.13;
ADDRESS.EMAIL.2 = DFA.ADDRESS.14;
ADDRESS.ADDITIONAL_TEXT = DFA.ADDRESS.15;
SET_ADDRESS MTR_Adressnummer;
ADDRESS 'DFA';
NEXTSEL STEM DFA.
END;
END;
/* Oberfläche freigeben */
ADDRESS VALUE ARexxPort;
FREEGUI;
EXIT;